package edu.utn.frba.procesamiento.grupo3.audio;

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineEvent;
import javax.sound.sampled.LineListener;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class NRPlayer {

	private static NRPlayer INSTANCIA;

	private NRPlayer() {

	}

	public static NRPlayer getINSTANCIA() {
		if (INSTANCIA == null) {
			INSTANCIA = new NRPlayer();
		}
		return INSTANCIA;
	}

	public void reproducir(File archivo) throws LineUnavailableException,
			IOException, UnsupportedAudioFileException {
		Clip sonido = AudioSystem.getClip();
		sonido.open(AudioSystem.getAudioInputStream(archivo));

		sonido.start();
		sonido.addLineListener(new LineListener() {

			public void update(LineEvent event) {
				Clip sonido = (Clip) event.getSource();
				if (!sonido.isRunning())
					sonido.close();

			}
		});
	}
}
